home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Bavarian / Bavarian #123 (19xx)(APS Electronic).zip / Bavarian #123 (19xx)(APS Electronic).adf / deutsch.dok < prev    next >
Text File  |  1988-08-04  |  48KB  |  893 lines

  1.  
  2. Anleitung zu DME :
  3.  
  4.                         
  5. KURZBESCHREIBUNG
  6.  
  7.  DME ist ein komfortabler Texteditor. Er wurde von Matt Dillon geschrieben,
  8. der auch alle Copyrights auf dieses Programm besitzt ( ich hoffe, damit habe
  9. ich allen Pflichten genüge getan ).
  10. Dies ist KEINE Übersetzung des Originals DME.DOC. Für
  11. eventuelle Fehler und daraus resultierenden Folgen wird keine Haftung
  12. übernommen.
  13.  Dieses Handbuch wurde für den Anfänger geschrieben. Daher möchte ich die
  14. PD-Profis bitten, einige besonders ausschweifende Textstellen mit einer
  15. Erinnerung an ihre Anfänge zu überlesen. Die Anfänger möchte ich bitten,
  16. besonders unverständliche Textpassagen zwei- bis dreimal zu lesen, bevor
  17. ihr mir dann zornerfüllt schreibt. Habt keine Angst, etwas auszuprobieren.
  18. Nur so lernt man mit dem Rechner und den Programmen umzugehen. Aber bitte,
  19. denkt dran : ERST eine Sicherungskopie ziehen und NICHT an einem wichtigen
  20. Dokument rumwurschteln, wenn es noch nicht abgespeichert ist.
  21.  
  22.                          
  23. MÖGLICHKEITEN
  24.  
  25.  Im Gegensatz zu ED, dem AmigaDOS-Editor, ist DME ein leicht lernbarer,
  26. komfortabel zu bedienender Editor. Er besitzt eine einfache Möglichkeit
  27. der Anpassung auf individuelle Wünsche. Eine etwas ausgefallene Art der
  28. Makroprogrammierung ist der Clou.
  29.  
  30.                             
  31. ANFANG
  32.  
  33.  DME wird vom CLI mit
  34. > DME filename
  35. aufgerufen, wobei filename der zu editierende File ist. Von der Workbench
  36. muß zuerst der Textfile angeklickt werden, und, während man SHIFT gedrückt
  37. hält, das ICON von DME. Man kann natürlich auch DME als TOOL im INFO-File
  38. angeben. Falls DME von der Workbench aufgerufen wurde, so wird ein ICON
  39. mit dem Text abgespeichert.
  40.  Wenn man den Filenamen des zu bearbeitenden Textfiles fortläßt, wird zuerst
  41. ein Text ohne Namen produziert, der später abgespeichert werden kann.
  42.  Im folgenden werden einige Abkürzungen für Tastennamen benutzt. Dabei steht
  43. 1)
  44.    SH     oder s-     für eine der beiden SHIFT-Tasten,
  45.    CRTL   oder c-     für eine der beiden CONTROL-Tasten ( die mit dem Pfeil
  46.                                                            nach oben ),
  47.    ALT    oder a-     für eine der beiden ALT-Tasten,
  48.    AMIGA  oder A-     für eine der beiden AMIGA-Tasten,
  49.    LM     oder L-     für die linke Maustaste,
  50.    RM     oder R-     für die rechte Maustaste,
  51.  
  52. 2)
  53.    RET                für die RETURN-Taste,
  54.    ENTER              für die ENTER-Taste des Nummernblocks,
  55.    Fx                 für die Funktionstaste mit der Nummer x,
  56.    BS                 für die BACKSPACE-Taste ( die mit dem Pfeil nach links
  57.                                                 im Hauptteil der Tastatur ),
  58.    DEL                für die DELETE-Taste,
  59.    HELP               für die HELP-Taste,
  60.    TAB                für den Tabulator,
  61.    CL                 für CAPS LOCK,
  62.    ESC                für die ESC-Taste,
  63.    UP                 für die CURSOR-Steuerungstaste nach oben,
  64.    DOWN               für die CURSOR-Steuerungstaste nach unten,
  65.    LEFT               für die CURSOR-Steuerungstaste nach links,
  66.    RIGHT              für die CURSOR-Steuerungstaste nach rechts,
  67.    BLANK              für ein Leerzeichen,
  68.                 nkx   für die Tasten x des Nummernblocks außer ENTER,[,].
  69.  
  70. Die Tasten der Gruppe 1) werden als QUALIFIERS bezeichnet.
  71.  
  72.                            
  73. TEXTEINGABE
  74.  
  75.  Als erstes erscheint nach dem Aufruf von DME ein Fenster. In diesem Fenster
  76. wird im folgenden der Text eingegeben. Hier wird auch eine sehr schöne
  77. Eigenschaft von DME sichtbar : Der Editor besitzt alle Gadgets, die zum
  78. Arbeiten auf dem AMIGA notwendig sind. Da ist links oben das CLOSEGADGET
  79. ( ich erspare mir die deutschen Übersetzungen, SCHLIESSKNOPF hört sich
  80. einfach nicht gut an ), mit dem der Editor ohne Abspeichern des Textes
  81. verlassen werden kann. Die Titelzeile, in der meist aktuelle und maximale
  82. Zeile sowie aktuell Spalte, der Filename sowie einige weitere Mitteilungen
  83. stehen, wird auch als DRAGGADGET zum Verschieben des Windows benutzt. Rechts
  84. oben in der Titelzeile sind noch die beiden Geschwister BACK- und FRONTGADGET
  85. untergebracht, mit der das DME-Fenster hinter andere Fenster gebracht werden
  86. kann bzw wieder nach vorne geholt wird. Unten rechts ist das SIZEGADGET, mit
  87. der DME auf die notwendig Größe verkleinert oder vergrößert werden kann.
  88.  Alternativ werden in der Titelzeile des öfteren auch Fehlermeldungen
  89. auftauchen.
  90.  DME kann also allen beliebigen Konfigurationen angepaßt werden. Ob dies
  91. PAL- oder NTSC-Bildschirm, HIGHRES, LOWRES oder gar INTERLACE ist, DME wird
  92. einfach entsprechend vergrößert, wie man dies von allen Fenstern gewöhnt ist.
  93. ( Im folgenden werde ich statt WINDOWS den Begriff FENSTER und statt SCREEN
  94. den Begriff BILDSCHIRM benutzen. )
  95.  Ein Beispiel für eine Titelzeile lautet :
  96. 101/860    10 dme.doc (modified)
  97. Die 101 steht für die Zeile, in der sich gerade der Cursor befindet. Die 860
  98. gibt die Zahl der Zeilen an, die sich im Moment im Speicher befinden. Die
  99. folgende 10 zeigt die Spalte des Cursors. dme.doc ist der Name der Datei.
  100. (modified) bedeutet, daß der Text bereits modifiziert wurde und gespeichert
  101. werden sollte, bevor man den Editor verläßt.
  102.  In die Titelzeile werden auch die Fehlermeldungen sowie zu Beginn einer
  103. Sitzung der Name des Autors und die Copyright-Meldung ausgegeben. Diese
  104. verschwindet aber sofort nach Eingabe einer Zeile.
  105.  
  106.                            
  107. BESONDERHEITEN
  108.  
  109.  Solange DME noch nicht gemäß den eigenen Vorstellungen umgestaltet worden
  110. ist, gibt es eine Kleinigkeit, die am Anfang leicht störend wirken kann.
  111. Beim Drücken der rechten Maustaste erscheint nämlich nicht wie gewohnt ein
  112. MENU, sondern das Fenster von DME macht sich ganz klein und verschwindet in
  113. der linken oberen Ecke des Bildschirms. Es wird nur noch der Filename sowie
  114. das CLOSEGADGET angezeigt. Man nennt diese kleine Darstellung, in der das
  115. Fenster inaktiv ist, ICON ( deutsch : Abbild, Ikone ). Es wird zur
  116. Speicherplatzersparnis verwendet, wenn man neben DME noch weitere Prozesse
  117. laufen hat und den Editor nicht immer neu starten möchte. Denkbar ist zum
  118. Beispiel, daß man als Programmierer DME mit dem Quelltext des Programmes
  119. einmal aufruft. Nachdem man seine Änderungen eingefügt hat, wird das Programm
  120. abgespeichert und das DME- Fenster ICONIFIZIERT ( auch hier benutze ich
  121. dieses englische Wort als deutsches Verb. Deutsch-Puristen mögen mir
  122. verzeihen, die Alternativen sind mir zu umständlich. ), soll heißen, zu
  123. einem ICON gemacht. Dann wird das Programm übersetzt. Falls Fehler
  124. auftauchen, braucht der Editor mit dem Programmtext nicht neu geladen werden,
  125. sondern es wird einfach das ICON wieder aktiviert.
  126.  Die ICONS werden aktiviert, indem man mit dem Mauszeiger auf das ICON zeigt
  127. und erst die linke und dann die rechte Maustaste drückt. ( VORSICHT : Bei
  128. anderen Programmen, die ICONS benutzen, ist dies ausschließlich die linke
  129. Maustaste !! ) Aber Vorsicht : Es sollten einige KBytes Speicher übrig sein,
  130. da sonst DME beim Aktivieren unseren Freund, den GURU hervorlockt !
  131.  
  132.  DME hat eine Sondertaste, die für die Befehlseingabe eine wesentliche Rolle
  133. spielt : die ESC-Taste. Wenn man diese Taste drückt, erscheint am unteren
  134. Rand des DME-Fensters eine Zeile, die durch eine waagerechte Linie vom
  135. eingegebenen Text abgetrennt ist. Diese Zeile kann eine Zeile des bereits
  136. geschriebenen Textes überdecken, jedoch erscheint dieser nach Abschluß des
  137. Befehls wieder, wenn die Befehlszeile verschwindet. Eine Beschreibung
  138. der Befehle folgt in Kürze.
  139.  
  140.  Die schönste Eigenschaft DMEs ist wie schon erwähnt, daß dieser Editor an
  141. individuelle Wünsche angepasst werden kann. Dazu kann
  142. - jede Taste nach eigenem Gutdünken mit einer Folge von DME-Befehlen belegt
  143.   werden ( und hier ist wirklich JEDE Taste gemeint ), sogar die Maustasten
  144.   können hier eingebunden werden,
  145. - ein eigenes MENU aufgebaut werden (!!!!),
  146. - die Belegungen in einer Datei abgespeichert werden, die DME vor Beginn
  147.   einer Sitzung automatisch lädt.
  148.  
  149.                               
  150. BEFEHLE
  151.  
  152.  DME hat einen reichen Vorrat an Befehlen. Um einen Befehl und die eventuell
  153. dazugehörigen Parameter einzugeben, wird die ESC-Taste wie oben beschrieben
  154. benutzt. Falls man versehentlich die ESC-Taste drückt und keinen Befehl
  155. geben will oder die Befehlseingabe abbrechen möchte, so läßt ein weiterer
  156. Druck auf die ESC-Taste die Befehlseingabezeile wieder verschwinden. Jeder
  157. Befehl wird mit RET abgeschlossen
  158.  
  159.  Der prinzipielle Aufbau eines DME-Befehls lautet wie folgt :
  160. befehl arg1 arg2 ....
  161. befehl ist hierbei der Befehlsname, arg1, arg2, ... sind die notwendigen
  162. Argumente. Falls in einem Argument ein Leerzeichen vorkommt, so muß das
  163. Argument in den Anführungszeichen ` ' geschrieben werden. Dabei ist es sehr
  164. wichtig, daß am Anfang wirklich ein ` ( auf der deutschen AMIGA-Tastatur
  165. links oben ) und am Ende ein ' ( auf der deutschen AMIGA-Tastatur mit ALT-Ä
  166. zu erreichen ) steht. Beispielsweise sieht ein Befehl zum Ersetzen einer
  167. Zeichenkette so aus :
  168. FIND `Dies ist' `Das ist'
  169.  Falls ein Text in eine Tastenkombination eingebunden werden soll, der später
  170. im zu editierenden Text stehen soll, so muß dieser in runden Klammern ()
  171. gesetzt werden. Steuerzeichen können so über (^.) eingebunden werden,
  172. wobei . das Zeichen ist, das für das Steuerzeichen steht. Z.B. wird CRTL-L
  173. mit ESC (^L) RET eingebunden.
  174.  
  175.  Es folgt nun eine kurze Beschreibung aller Befehle. Auf die Besonderheiten
  176. der Befehle wird später eingegangen.
  177.  
  178. Liste der Befehle :
  179.     (text)              Fügt den Text text ein.
  180.     taste               Führt den/die Befehle aus, die unter dieser
  181.                         Taste gespeichert sind.
  182.     menu-punkt          Ein Menupunkt wird ausgeführt.
  183.     ARPLOAD             Ein Filerequestor für das Laden eines Files
  184.                         wird aufgebaut, nur wenn ARP.LIBRARY vorhanden s.u.
  185.     ARPSAVE             Ein Filerequestor für das Speichern eines Files
  186.                         wird aufgebaut, nur wenn ARP.LIBRARY vorhanden s.u.
  187.     BACK                Befehl für BS.
  188.     BACKTAB             Eine Tabulatorstelle nach hinten.
  189.     BCOPY               Kopiert einen Block.
  190.     BDELETE             Löscht einen Block.
  191.     BLOCK               Markiert Blockanfang und Blockende, s.u.
  192.     BMOVE               Ein Block wird veschoben.
  193.     BOTTOM              Setzt den CURSOR auf das Ende des Textes.
  194.     BS                  Befehl für BS, löscht Zeichen links vom CURSOR.
  195.     BSAVE file          Speichert einen Block unter dem Namen file.
  196.     BSOURCE             s.u.
  197.     CHFILENAME name     Ändert den aktuellen Filenamen in name.
  198.     DEL                 Befehl für DEL.
  199.     DELINE              Löscht eine Zeile.
  200.     DOWN                Setzt den CURSOR eine Zeile tiefer.
  201.     DOWNADD             Wie DOWN, nur falls am Ende des Textes angelangt,
  202.                         so wird eine Zeile hinzugefügt.
  203.     ESC                 s.o.
  204.     ESCIMM arg          Die Befehlszeile wird geöffnet und das Argument arg
  205.                         an die erste Stelle geschrieben, so daß eine Befehls-
  206.                         eingabe erfolgen kann.
  207.     EXECUTE comm        Das DOS-Kommando comm wird ausgeführt und auf das
  208.                         Fenster geschrieben, von dem DME aufgerufen wurde.
  209.     FIND string         Sucht nach dem erstmaligen Auftreten von string.
  210.     FINDR s1 s2         Sucht nach dem erstmaligen Auftreten von s1 und
  211.                         ersetzt dies durch s2.
  212.     FINDSTR string      Setzt eine Buchstabenkette, nach der gesucht werden
  213.                         soll. ( siehe auch NEXT )
  214.     FIRST               Setzt den CURSOR in Spalte 1.
  215.     FIRSTNB             Setzt den CURSOR auf das erste Zeichen in der Zeile,
  216.                         in der kein BLANK steht.
  217.     GOTO BLOCK          Geht an den Anfang des markierten Blocks.
  218.     GOTO START          Wie GOTO BLOCK.
  219.     GOTO END            Geht an das Ende des markierten Blocks.
  220.     GOTO [+/-]N         Geht in die relative [+/-] bzw absolute Zeile N.
  221.     HEIGHT N            Setzt für alle folgenden Fenster die Größe N als
  222.                         Fenstergröße fest. N wird in PIXELN angeben.
  223.     ICONIFY             Läßt das Fenster von DME zu einem ICON schrumpfen s.o.
  224.     IF cnd act          Bedingte Abfrage s.u.
  225.     IFELSE cnd ifact elseact
  226.                         Bedingte Abfrage mit alternativer Möglichkeit s.u.
  227.     IGNORECASE what     Stellt ein, ob bei Suche Klein-/Großschreibung
  228.                         ignoriert wird. Dabei ist what=ON für ignorieren,
  229.                         =OFF für nicht ignorieren, =TOGGLE für umschalten.
  230.     INSERTMODE what     Stellt ein, ob neu eingegebene Zeichen eingefügt
  231.                         werden oder die alten überschreiben werden sollen.
  232.                         what=ON : einfügen, what=OFF : überschreiben,
  233.                         what=TOGGLE : umschalten.
  234.     INSFILE name        Die Datei name wird eingefügt.
  235.     INSLINE             Eine Zeile wird eingefügt.
  236.     JOIN                Die nächste Zeile wird an aktuelle Zeile anfügt.
  237.     LAST                Geht auf die letzte Spalte der aktuellen Zeile.
  238.     LEFT                Bewegt den Cursor eine Spalte nach links.
  239.     LEFTEDGE N          Setzt die linke Ecke für jedes weitere Fenster auf
  240.                         N PIXEL fest.
  241.     MAP key map         Der Buchstabe key erhält die Definition map, s.u.
  242.     MARGIN N            Der rechte Rand wird auf N Spalten eingestellt, für
  243.                         WORDWRAP und REFORMAT.
  244.     MENUADD hdr item cmd \
  245.     MENUDEL hdr item      \
  246.     MENUDELHDR hdr         \  Menubefehle s.u.
  247.     MENUCLEAR              /
  248.     MENUON                /
  249.     MENUOFF              /
  250.     NEWFILE name        Neuer File name wird bearbeitet.
  251.     NEWWINDOW           Ein weiteres DME-Fenster wird geöffnet.
  252.     NEXT                Das nächste Auftreten des Suchstrings wird gesucht.
  253.     NEXTR               Das nächste Auftreten des Suchstrings wird gesucht
  254.                         und durch den Ersatzstring ersetzt.
  255.     PAGEDOWN            Eine Seite nach unten, s. PAGESET
  256.     PAGESET n           Gibt in Prozent n an, um wieviele Zeilen der
  257.                         Bildschirm bei PAGEUP und PAGEDOWN verschoben wird.
  258.     PAGEUP              Eine Seite nach oben, s. PAGESET
  259.     PING n              Setzt eine Textmarkierung, n zwischen 0 und 9.
  260.     PONG n              Sucht eine Textmarkierung, n zwischen 0 und 9.
  261.     PREV                Sucht vorheriges Auftreten des Suchstrings.
  262.     PREVR               Sucht vorheriges Auftreten des Suchstrings und
  263.                         ersetzt diesen durch Ersatzstring.
  264.     PUSHMARK            Schiebt den aktuellen Block auf einen Stack und
  265.                         läßt Markierung verschwinden.
  266.     POPMARK             Holt einen Block vom Stack und markiert den Block.
  267.     SWAPMARK            Schiebt aktuellen Block auf Stack, vertauscht die
  268.                         oberen beiden Stackeinträge und holt den obersten
  269.                         Block vom Stack.
  270.     PURGEMARK           Löscht den Stack.
  271.     QUIT                Verläßt den Editor, ohne Anderungen abzuspeichern !
  272.     RECALL              Holt das letzte Kommando zurück. Muß als c-ESC von
  273.                         der Tastatur eingeben werden.
  274.     REF                 s.u.
  275.     REFORMAT            Formatiert den nächsten Absatz innerhalb der ersten
  276.                         Spalte und der durch MARGIN festgesetzten. Ende des
  277.                         Paragraphen : Leerzeile oder Blank in erster Spalte.
  278.     REMEOL              Löscht bis Ende der Zeile.
  279.     REPEAT cnt comm     s.u.
  280.     REPSTR string       Setzt den Ersatzstring mit string.
  281.     RESETTOGGLE N       Schaltet die Boolsche Variable N aus, N zwischen
  282.                         0 und 31.
  283.     RESIZE cols rows    Das aktuelle Fenster wird auf die Größe cols Zeilen
  284.                         und rows Spalten eingestellt.
  285.     RETURN              Zeilenanfang nächste Zeile und neue Zeile einfügen.
  286.     RIGHT               Setzt den Cursor eine Spalte nach rechts.
  287.     RX                  ARexx-Macro aufrufen, s.u.
  288.     RX1                 ARexx-Macro mit einem Argument aufrufen, s.u.
  289.     RX2                 ARexx-Macro mit zwei Argumenten aufrufen, s.u.
  290.     SAVEAS file         Speichert aktuellen Text unter dem Namen file. Der
  291.                         Name des Textes bleibt ungeändert.
  292.     SAVEMAP file        Speichert die aktuelle Belegung der Tasten durch den
  293.                         User unter dem Namen file.
  294.     SAVEOLD             Speichert aktuellen Text unter dem aktuellen Namen.
  295.     SAVESMAP file       Speichert alle aktuellen Belegungen der Tasten unter
  296.                         dem Namen file.
  297.     SAVETABS on/off     Falls on gewählt wird, so werden beim Abspeichern
  298.                         die Tabs als ein Zeichen gespeichert, bei off werden
  299.                         entsprechend viele Blanks gespeichert. Voreingestellt
  300.                         ist off.
  301.     SCANF ctlstr        s.u.
  302.     SCREENBOTTOM        Geht in die Zeile, die auf dem Fenster als unterste
  303.                         steht.
  304.     SCREENTOP           Geht in die Zeile, die auf dem Fenster als oberste
  305.                         steht.
  306.     SCROLLUP            Schiebt das Fenster und den Cursor um eine Zeile
  307.                         nach oben.
  308.     SCROLLDOWN          Schiebt das Fenster und den Cursor um eine Zeile
  309.                         nach unten.
  310.     SETFONT font sz     Setzt einen Font font in der Schriftgröße sz.
  311.     SETTOGGLE N         Setzt die Boolsche Variable N, N zwischen 0 und 31.
  312.     SOURCE file         s.u.
  313.     SPLIT               Trennt die Zeile an der Cursor-Position.
  314.     TAB                 Fügt einen Tabulator ein.
  315.     TABSTOP N           Setzt die Tabs auf N Zeichen.
  316.     TLATE [+/-]N        s.u.
  317.     TOGGLE N            Schaltet die Boolsche Variable N um, N
  318.                         zwischen 0 und 31.
  319.     TOMOUSE             Bewegt den Cursor auf den Mauszeiger.
  320.     TOP                 Setzt den Cursor an den Anfang des Textes.
  321.     TOPEDGE N           Setzt die obere Ecke auf N PIXEL für jedes neue
  322.                         Fenster.
  323.     UNBLOCK             Die Markierung des aktuellen Blocks wird aufgehoben.
  324.     UNMAP key           Die Taste key wird von ihrer Belegung befreit.
  325.     UP                  Setzt den Cursor eine Zeile höher.
  326.     WHILE cnd act       s.u.
  327.     WIDTH N             Setzt die Breite in N PIXEL für jedes neue Fenster.
  328.     WLEFT               Setzt den Cursor auf den Anfang des links stehenden
  329.                         Wortes.
  330.     WORDWRAP what       Schaltet den automatischen Umbruch am Ende einer
  331.                         Zeile, eingestellt durch MARGIN, ein oder aus.
  332.                         what=ON : eingestellt, what=OFF : ausgestellt,
  333.                         what=TOGGLE : umschalten.
  334.     WRIGHT              Setzt den Cursor auf den Anfang des rechts stehenden
  335.                         Wortes.
  336.  
  337.  
  338.                           
  339. TASTENBELEGUNG I
  340.  
  341.  Jede Taste der AMIGA-Tastatur kann im DME-Editor mehrfach belegt werden.
  342. Dies geschieht mit dem Befehl MAP. Die Syntax ist
  343.                       MAP key map
  344.  Dabei ist key eine Taste, eventuell stehen vor der Taste ein oder mehrere
  345. Qualifier. Nochmals eine kurze Zusammenfassung der Qualifier :
  346. s          für           SHIFT,
  347. c          für           CONTROL,
  348. a          für           ALT,
  349. A          für           AMIGA,
  350. L          für           linke Maustaste,
  351. R          für           rechte Maustaste,
  352. M          für           evtl. vorhandene mittlere Maustaste.
  353. Die Qualifier werden durch den eigentlichen Tastencode durch ein Minus -
  354. getrennt. Bei den Buchstaben kann statt dem SHIFT-Qualifier auch der Groß-
  355. buchstabe gewählt werden. Einige Qulifierkombinationen sollten nicht benutzt
  356. werden, wie etwa aA für ALT AMIGA, da diese auch von INTUITION des AmigaDOS
  357. benutzt werden.
  358.  map ist eine beliebige syntaktisch richtige Kombination aus den Befehlen,
  359. die DME bietet. Über die mögliche Länge von map schweigt sich leider das
  360. Originalhandbuch aus. Falls ein Befehl mit Argument oder mehr als ein
  361. Befehl benutzt wird muß diese Kombination in einfachen Gänsefüßchen `'
  362. stehen. Dabei ist es wesentlich, daß ` am Anfang steht und ' am Ende.
  363.  Einige Bespiele für Tastenbelegungen werden auf der FISH-Disk 153 auf dem
  364. Directory support mitgeliefert. Natürlich sollte sich jeder seine eigenen
  365. Befehle basteln. Ein Beispiel für eine solche Tastaturbelegung wäre
  366. MAP help `newwindow newfile s:.help'
  367. sofern dieser Doc-File auf dem Directory s: unter dem Namen .help
  368. abgespeichert wird, oder
  369. MAP c-b bottom
  370.  
  371.                           
  372. TASTATURBELEGUNG II
  373.  
  374.  Da es wohl etwas mühsam wäre, die Tastaturbelegungen jedes Mal wieder von
  375. Neuem einzugeben, bietet DME die Möglichkeit, einen STARTUP-File anzulegen.
  376. Dieser File muß entweder auf dem aktuellen Directory oder auf dem
  377. Directory s: stehen und den Namen .edrc besitzen. Optional kann auch beim
  378. Aufruf von DME mit der Option -fname ein File name angegeben werden, so daß
  379. aus dem File name die Tastaturbelegung geladen wird.
  380.  Natürlich können in diesem File auch andere Kommandos aufgerufen werden.
  381. Diese werden unmittelbar beim Aufruf ausgeführt.
  382.  Es können auch nachträglich derartige Kommandofiles geladen und ausgeführt
  383. werden. Dies geschieht mit dem Befehl SOURCE file. Falls in dem aktuellen
  384. File einige Zeilen Tastaturbelegungen definiert werden, so können diese
  385. mit BLOCK markiert und dann mit BSOURCE ausgeführt werden. Dies ist
  386. beispielsweise in einem Programmtext als Kommentar denkbar.
  387.  Es wird eine Tastaturbelegung in DME vordefiniert. Sie lautet :
  388.  
  389.     map a-c       `bcopy'
  390.     map a-d       `bdelete'
  391.     map a-down    `scrolldown'
  392.     map a-l       `while cu (tlate +32 right)'
  393.     map a-m       `bmove'
  394.     map a-r       `nextr'
  395.     map a-s       `bsource'
  396.     map a-u       `while cl (tlate -32 right)'
  397.     map a-up      `scrollup'
  398.     map bs        `bs'
  399.     map c-/       `escimm (find )'
  400.     map c-]       `ref'
  401.     map c-1       `goto block'
  402.     map c-b       `block'
  403.     map c-c       `'
  404.     map c-del     `remeol'
  405.     map c-down    `pagedown'
  406.     map c-esc     `recall'
  407.     map c-f       `reformat'
  408.     map c-g       `escimm (goto )'
  409.     map c-i       `insertmode on'
  410.     map c-j       `join'
  411.     map c-l       `wleft'
  412.     map c-n       `next'
  413.     map c-o       `insertmode off'
  414.     map c-p       `prev'
  415.     map c-q       `quit'
  416.     map c-r       `wright'
  417.     map c-s       `split first down'
  418.     map c-u       `unblock'
  419.     map c-up      `pageup'
  420.     map c-w       `wordwrap toggle'
  421.     map del       `del'
  422.     map down      `down'
  423.     map enter     `return'
  424.     map esc       `esc'
  425.     map f1        `escimm (insfile )'
  426.     map f2        `escimm (newfile )'
  427.     map f3        `escimm (newwindow newfile )'
  428.     map f6        `saveold iconify'
  429.     map f7        `escimm (bsave )'
  430.     map f8        `saveold escimm (newfile )'
  431.     map f9        `saveold'
  432.     map f10       `saveold quit'
  433.     map L-lmb     `tomouse'
  434.     map L-mmo     `tomouse'
  435.     map left      `left'
  436.     map R-rmb     `iconify'
  437.     map return    `return insline up firstnb down'
  438.     map right     `right'
  439.     map `s- '     `( )'
  440.     map s-del     `deline'
  441.     map s-down    `bottom'
  442.     map s-left    `first'
  443.     map s-right   `last'
  444.     map s-tab     `backtab'
  445.     map s-up      `top'
  446.     map sa-s      `unblock block block bsource'
  447.     map tab       `tab'
  448.     map up        `up'
  449.  
  450.  
  451.                              
  452. CURSORBEWEGUNG
  453.  
  454.  Um komfortabel einen Text editieren zu können, sollte eine Vielzahl von
  455. Cursorbewegungen möglich sein. Dies ist bei DME geradezu vorbildlich
  456. gelöst.
  457.  Vorausgesetzt, die Tasten sind nicht individuell umdefiniert, kann der
  458. Cursor in DME mit folgenden Tasten und Befehlen bewegt werden :
  459. Die Cursor-Tasten sind entsprechend ihren Bedeutungen belegt. Ebenso BS,
  460. DEL, RET und TAB. Durch die Kombination ALT UP bzw ALT DOWN entsprechend
  461. SCROLLUP und SCROLLDOWN wird das Fenster um eine Zeile nach unten bzw nach
  462. oben bewegt, während der Cursor fest bleibt. Mit SHIFT UP bzw SHIFT DOWN
  463. entsprechend TOP bzw BOTTOM wird der Cursor in die erste bzw letzte Zeile
  464. des Textes gesetzt. Mit SCREENTOP bzw SCREENBOTTOM wird der Cursor auf die
  465. erste bzw letzte Zeile des aktuellen Fensters gesetzt. SHIFT TAB geht um
  466. eine Tabulatorstelle zurück und entspricht dem Befehl BACKTAB. Mit dem
  467. Mauszeiger und gedrückter rechter Maustaste kann der Cursor auf eine
  468. beliebige Stelle im Fenster gesetzt werden oder das Fenster nach oben und
  469. unten geschoben werden. Falls eine Zeile zu lang ist, so wird das gesamte
  470. Fenster nach links geschoben.
  471.  Eine besondere Befehlskombination bietet der Befehl PAGESET mit den
  472. Befehlen PAGEDOWN und PAGEUP. Mit PAGESET wird in Prozent bestimmt, um
  473. wieviel mit PAGEDOWN und PAGEUP entsprechend eine Seite hoch und eine
  474. Seite runter das Fenster verschiebt. Eine Seite ist in diesem Fall die Menge
  475. an Text, die vertikal in ein Fenster paßt. Im Normalfall bewegt sich der Wert
  476. von PAGESET zwischen 90 und 100 Prozent. Man kann aber beispielsweise mit
  477. PAGESET 50
  478. angeben, daß das Fenster mit PAGEUP nur um eine halbe Seite verschoben wird.
  479.  Mit GOTO [+/-]N kann man den Cursor um jeweils N Zeilen nach unten
  480. ( GOTO +N ) bzw nach oben ( GOTO -N ) bzw in die Zeile N ( GOTO N ) bewegen.
  481.  
  482.                            
  483. SUCHEN & ERSETZEN
  484.  
  485.  Dies geschieht in DME durch Angabe eines Suchstrings string durch den Befehl
  486. FINDSTR string. Mit NEXT kann nach unten und mit PREV nach oben gesucht
  487. werden. Optional kann mit FIND string bereits ein Auftreten des Strings
  488. string gesucht werden. FIND entspricht also der Befehlskombination
  489. `FINDSTR string NEXT'. FIND ist in der Standardbelegung von DME auf der
  490. Taste c-/, NEXT auf c-n.
  491.  Ersetzen eines Strings s1 durch einen String s2 ist möglich über
  492. 1) die Angabe des Suchstrings mit FINDSTR s1,
  493. 2) die Angabe des Ersatzstrings mit REPSTR s2,
  494. 3) dem Befehl NEXTR bzw PREVR zum Ausführen der Ersatzoperation nach unten
  495.    bzw unten jeweils einmal.
  496. Alternativ kann mit dem Befehl FINDR s1 s2 der Suchstring s1 und der
  497. Ersatzstring s2 eingeben und die Ersatzoperation einmal ausgeführt werden.
  498.  Falls das Auftreten eines Strings im gesamten Text ersetzt werden soll, so
  499. geschieht dies über die Befehlskombination
  500. `ESCIMM `FINDR ' REPEAT -1 NEXTR'
  501. ausgeführt werden. Falls für die -1 eine Zahl N geschrieben wird, so wird das
  502. Auftreten des Suchstrings maximal N mal durchgeführt.
  503.  Da es beim Suchen unter Umständen wichtig sein kann, Groß- und Kleinbuch-
  504. staben zu trennen, in anderen Fällen aber als jeweils einen Buchstaben zu
  505. betrachten, gibt es den Befehl IGNORECASE param. IGNORECASE ON schaltet für
  506. die weiteren Suchvorgänge die Unterscheidung zwischen Groß- und Kleinbuch-
  507. staben ab, IGNORECASE OFF schaltet sie wieder ein.
  508.  
  509.  
  510.                           
  511. ZEILENOPERATIONEN
  512.  
  513.  Mit INSLINE kann man an der eine Zeile vor der aktuellen einfügen. Mit
  514. JOIN wird die nächste Zeile an die aktuelle angefügt. DELLINE löscht die
  515. aktuelle Zeile, während REMEOL ab der aktuellen Cursorposition bis zum
  516. Ende der Zeile löscht. SPLIT teilt die Zeile an der aktuellen Cursorposition
  517. und schreibt den Rest in die nächste Zeile.
  518.  
  519.                           
  520. LADEN & SPEICHERN
  521.  
  522.  Falls man Besitzer der ARP.LIBRARY ist (befindet sich im LIBS-Directory
  523. dieser Diskette), so kann man sehr
  524. bequem Files auswählen : mit einem FILEREQUESTOR. ARP ist die Abkürzung von
  525. AmigaDOS Replacement Project, zu deutsch AmigaDOS Ersatz Projekt. Man kann
  526. gerade bei den AmigaDOS-Befehlen noch einiges verbessern. Dies wurden in
  527. der Reihe ARP getan. Desweiteren wurde eine Library nützlicher Befehle
  528. erstellt, auf die Programme zugreifen können. Unter anderem ist dort auch
  529. ein sehr komfortabler und schneller FILEREQUESTOR implementiert. ARP ist
  530. als PUBLIC DOMAIN auf den RPD 27c und RPD 27d erhältlich.
  531.  In DME kann man mittels den Befehlen ARPLOAD und ARPSAVE auf diesen
  532. FILEREQUESTOR zugreifen. Dann kann der File, der geladen oder gespeichert
  533. werden soll, per Maus ausgewählt werden.
  534.  Natürlich kann man auch ohne ARP.LIBRARY Dateien laden bzw speichern.
  535. Dies wird durch die Befehle NEWFILE name bzw SAVEAS name erreicht. Man kann
  536. aber auch einen File, der bereits einen Namen hat, mit SAVEOLD abspeichern.
  537.  Daneben gibt es noch den Befehl INSFILE name, der die Datei name an der
  538. aktuellen Cursorposition einfügt sowie den File CHFILENAME name, das den
  539. aktuellen Filenamen in name umändert.
  540.  
  541.                          
  542. BLOCKOPERATIONEN
  543.  
  544.  Dies ist ein Punkt, in dem DME Nachteile gegenüber anderen Editoren hat. Es
  545. ist nämlich nicht möglich, kleinere Einheiten als eine Zeile zu kopieren.
  546. DME setzt prinzipiell einen Blockanfang am Anfang einer Zeile und das
  547. Blockende an das Ende einer Zeile.
  548.  Die Markierung eines Blocks wird durch BLOCK oder c-b in der
  549. Standardbelegung erreicht. BLOCK muß am Anfang des Blocks und am Ende des
  550. Blocks je einmal aufgerufen werden. Der Block wird dann in der oben
  551. beschriebenen Weise markiert. Sichtbar wird dies, indem die markierten Zeilen
  552. in einer anderen Farbe geschrieben werden. Bei der Festlegung seiner Farben
  553. in PREFERENCES kann man dort schnell eine angenehme Farbzusammenstellung
  554. erreichen.
  555.  Mit dem BLOCK können diverse Operationen durchgeführt werden. Er kann
  556. kopiert werden ( BCOPY oder a-c ), er kann gelöscht werden ( BDELETE oder
  557. a-d ), er kann bewegt werden ( BMOVE oder a-m, entspricht `BCOPY BDELETE' ),
  558. er kann abgespeichert werden ( BSAVE ) oder als Tastaturbelegung abgearbeitet
  559. werden ( BSOURCE oder a-s ).
  560.  Die Markierungen können auch auf einem Stack verwaltet werden. Dazu dienen
  561. die Befehle PUSHMARK, POPMARK, SWAPMARK und PURGEMARK. PUSHMARK schiebt ein
  562. Markierungspaar auf den Stack, POPMARK holt sie wieder runter, SWAPMARK
  563. tauscht aktuelle Markierung und oberste Stackmarkierung aus und PURGEMARK
  564. löscht den Stack.
  565.  Mit GOTO BLOCK oder GOTO START entsprechend c-l kann man an den Anfang eines
  566. markierten Blocks springen, mit GOTO END an das Ende.
  567.  Falls ein Block markiert ist, kann kein zweiter markiert werden. Erst muß
  568. mit UNBLOCK oder c-u die Markierung gelöscht werden.
  569.  
  570.                                 
  571. FENSTERLN
  572.  
  573.  Mit DME ist es möglich, mehrere Files gleichzeitig zu bearbeiten. Dazu muß
  574. man mit NEWWINDOW ein weiteres Fenster aufmachen und mit ARPLOAD oder
  575. NEWFILE den neuen File einladen. Das neue Fenster hat dieselbe Größe wie das
  576. aktuelle. Dies kann störend sein, wenn man zwei Files abhängig voneinander
  577. editieren möchte. Es gibt aber wie schon erwähnt die Möglichkeit, die
  578. Fenstergrößen mit der Maus zu verändern.
  579.  Daneben hat man aber auch noch die Kontrolle über die Fenster mit
  580. verschiedenen Befehlen. Man kann das aktuelle Fenster mit RESIZE x y den
  581. gewünschten Maßen anpassen. Dabei werden x und y, anders als bei den im
  582. weiteren erwähnten Befehlen, in Textzeilen x und Textspalten y angegeben.
  583. Diesen Befehl kann man auch in der DME-startup-sequence s:.edrc angeben,
  584. damit das Fenster auf die in der europäischen PAL-Norm übliche Bildschirmhöhe
  585. voll ausgenutzt wird. Mit RESIZE 77 30 bringt man das aktuelle Fenster auf
  586. die maximale Größe.
  587.  Mit allen folgenden wird nicht das aktuelle Fenster, sondern nur die in
  588. Zukunft mit NEWWINDOW eröffneten Fenster beeinflußt. Mit HEIGHT N wird die
  589. Bildschirmhöhe bestimmt. Dabei ist N wie alle weiteren Zahlen zur Festlegung
  590. der Fenstergrößen in PIXEL angegeben. Ein PIXEL ist ein Punkt auf dem
  591. Bildschirm. In INTERLACE, dem Flackermodus, hat ein PAL-Bildschirm 512
  592. Pixel vertikal, ansonsten 256 Pixel. Da im Normalfall der INTERLACE-Modus
  593. nicht zu empfehlen ist, gehe ich im folgenden von maximal 256 PIXELN in der
  594. Vertikalen aus. HEIGHT 256 legt also die Höhe des Bildschirms auf volle
  595. PAL-Größe fest. Mit TOPEDGE N kann man bestimmen, in welcher Höhe die neuen
  596. DME-Fenster beginnen sollen. VORSICHT : DME beginnt ein Fenster im Normalfall
  597. in der Höhe 1, läßt also eine PIXELreihe am oberen Rand frei. So kann man
  598. immer noch die GADGETs des Bildschirms erreichen. Dies entfällt, wenn man
  599. TOPEDGE 0 einstellt. Aber nur so kann man HEIGHT 256 festlegen. Der Wert von
  600. HEIGHT plus dem Wert von TOPEDGE darf also 256 nicht überschreiten.
  601.  Ähnlich sieht die Situation in der Waagrechten aus. Hier lauten die Befehle
  602. WIDTH N und LEFTEDGE N, ganz entsprechend zum Vertikalen. Da die maximale
  603. Auflösung 640 ist, darf hier der Wert von WIDTH plus dem Wert von LEFTEDGE
  604. nicht 640 überschreiten.
  605.  Als besonderes Schmankerl bietet DME die Möglichkeit, die auf dem AMIGA
  606. zur Verfügung stehenden Schriftarten darzustellen. Dies geschieht mit dem
  607. Befehl SETFONT FONT FG, wobei FONT der Name des Fonts ist und FG die
  608. Größe. Dieser FONT muß aber in dem Directory FONTS: vorhanden sein. Die
  609. möglichen Größen eines FONTS mit dem Namen font kann man mit DIR FONTS:font
  610. erfahren.
  611.  Als Einschränkung gilt hier, daß keine proportionale FONTS dargestellt
  612. werden können. Dies sind FONTS, deren Abstand der einzelnen Buchstaben von
  613. der Breite der Buchstaben abhängt.
  614.  
  615.                               
  616. TEXTE FORMATIEREN
  617.  
  618.  DME ist in erster Linie als ein Editor zum Eingeben von einfachen Texten
  619. wie Programmtexten gedacht. Daher kann DME nicht alle Möglichkeiten einer
  620. Textverarbeitung großen Stils bieten. Ein paar rudimentäre Befehle stellen
  621. aber einen gewissen Komfort her.
  622.  Als grundlegenster Befehl dient dazu INSERTMODE. Mit INSERTMODE ON legt
  623. man fest, daß neueingegebene Zeichen eingefügt werden, also alle "rechteren"
  624. Zeichen weiter nach rechts geschoben werden. Mit INSERTMODE OFF wird diese
  625. Fähigkeit ausgeschaltet, also werden neu eingegebene Zeichen an die aktuelle
  626. Cursorposition geschrieben und das eventuell daruntergelegene Zeichen
  627. gelöscht. Mit INSERTMODE TOGGLE wird der aktuelle Zustand umgekehrt.
  628.  Mit MARGIN N kann man den rechten Rand des Textes festlegen, wobei N in
  629. Textspalten angegeben wird . Mit REFORMAT kann man dann einen Paragraphen
  630. formatieren, so daß dieser genau zwischen dem linken Rand, der immer in der
  631. ersten Textspalte liegt, und dem mit MARGIN eingestellten rechtem Rand paßt.
  632.  Ein weiterer Befehl, der das Textaussehen bestimmt, ist WORDWRAP. WORDWRAP
  633. hat ein Argument, daß entweder ON oder OFF oder TOGGLE sein kann. Bei
  634. WORDWRAP ON wird der Umbruch eingestellt, bei WORDWRAP OFF ausgestellt und
  635. bei WORDWRAP TOGGLE wird der jeweils aktuelle Zustand verändert, aus ON
  636. wird also OFF und umgekehrt.
  637.  WORDWRAP dient zur Begrenzung der Zeilen. Wenn eine Zeile den mit MARGIN
  638. eingestellten rechten Rand überschreitet, so wird das letzte Wort bei
  639. eingeschaltetem Umbruch an den Anfang der nächsten Zeile gepackt und der
  640. Cursor hinter dieses Wort plaziert.
  641.  
  642.                                    
  643. MENUS
  644.  
  645.  Eine der faszinierenden Möglichkeiten ist die individuelle Festlegung von
  646. MENUS. Dies kann in der DME-startup-sequence s:.edrc geschehen.
  647.  Die Befehle dazu sind MENUON, MENUOFF, MENUADD, MENUDEL, MENUDELHDR und
  648. MENUCLEAR. Wenn man sich eigene MENUS erstellt, sollte zuerst mit MENUON die
  649. Menuleiste abgestellt werden, da sonst die weitere Bearbeitung sehr
  650. verlangsamt wird. Als nächstes kann mit MENUADD ein Menupunkt addiert
  651. werden. Dabei hat MENUADD drei Parameter. Der erste gibt den Menukopf an,
  652. der zweite den Menupunkt und der dritte die auszuführende Befehlssequenz.
  653. Die Menuköpfe sieht man, wenn man die rechte Maustaste in einem aktiven
  654. Fenster drückt, die Menupunkte, wenn man den Mauszeiger mit gedrücktem
  655. rechten Mausknopf auf einen Menukopf führt. Auswählen kann man einen
  656. Menupunkt dann, indem man die linke Maustaste drückt.
  657.  Bei MENUADD sollte man sich im wesentlichen an die Regeln halten, die
  658. COMMODORE für Programme auf dem AMIGA aufgestellt hat. Dazu gehört, daß
  659. der erste Menukopf PROJEKT oder PROJECT heißt und alle wichtigen Operationen
  660. enthält, die in allen Programmen immer wieder auftauchen, wie Laden und
  661. Speichern eines Files und Beenden eines Programms.
  662.  Als dritter Befehl wird dann MENUON benutzt, um die Menuleiste zu
  663. aktivieren.
  664.  Um nun den ganzen Vorgang ein wenig transparenter zu machen, gebe ich ein
  665. Beispiel, wie eine solche Folge zur Erstellung eines Menus aussehen könnte.
  666. MENUOFF
  667. MENUADD `PROJEKT' `Laden' `IF m `SAVEOLD' ESCIMM `NEWFILE ''
  668. MENUADD `PROJEKT' `Speichern' `SAVEOLD'
  669. MENUADD `PROJEKT' `Speichern als' `ESCIMM `SAVEAS ''
  670. MENUADD `PROJEKT' `Ende' `IF m `SAVEOLD' QUIT'
  671. MENUADD `PROJEKT' `Abbruch' `QUIT'
  672. MENUADD `AKTION' `Drucken' `SAVEAS prt:'
  673. MENUADD `AKTION' `Neuer Filename' `ESCIMM `CHFILENAME ''
  674. MENUON
  675. Dazu eine Anmerkungen :
  676. Einige der Befehle werden erst im folgenden besprochen. Trotzdem verwende
  677. ich sie schon hier, damit eine endgültige Version präsentiert werden kann.
  678. Natürlich können fast beliebig Befehle hinzugefügt werden, zumindest solange,
  679. bis die Menuzeile oder einer der Menuunterpunkte voll ist.
  680.  Die restlichen drei Befehle dienen der Flurbereinigung. Mit
  681. MENUDEL kopf punkt kann man den Menupunkt punkt im Menukopf kopf löschen.
  682. Natürlich sollte dieser Punkt vorhanden sein. Mit MENUDELHDR kopf kann man
  683. einen ganzen Kopf löschen und mit MENUCLEAR das ganze Menu.
  684.  
  685.                              
  686. KONTROLLEN
  687.  
  688.  DME bietet eine Reihe von Abfragen. Die einfachste lautet IF bed aktion.
  689. Dabei ist bed eine der gleich folgenden Bedingungen und aktion die unter
  690. der Bedingung auszuführende Aktion. Es folgt nun eine Liste der Bedingungen :
  691. t       = in erster Zeile?
  692. b       = in letzter Zeile ?
  693. l       = in erster Spalte ?
  694. r       = in letzter Spalte, nur noch Blanks dahinter ?
  695. m       = wurde der Text modifiziert ?
  696. i       = im INSERTNODUS ?
  697. x <=> n = der Cursor ist in der n.ten Spalte ( = ), entsprechend mit
  698.           größer ( > ) und kleiner ( < ) bzw entsprechende Kombinationen
  699.           davon ?
  700. y <=> n = wie x <=> n, nur Abfrage auf Zeile.
  701. cl      = das Zeichen unter dem Cursor ist ein Kleinbuchstabe ( a - z ) ?
  702. cu      = das Zeichen unter dem Cursor ist ein Großbuchstabe ( A - Z ) ?
  703. ca      = das Zeichen unter dem Cursor ist ein alpha-numerisches Zeichen,
  704.           also Groß-, Kleinbuchstabe oder Ziffer ?
  705. cn      = das Zeichen unter dem Cursor ist eine Ziffer ( 0 - 9 ) ?
  706. c <=> n = die ASCII-Darstellung des Zeichens unter dem Cursor wird
  707.           entsprechend der angegebenen Relation ( =, <, >, <=, => ) mit der
  708.           Zahl n ( dezimal ) verglichen.
  709. Ein ! vor der Bedingung gilt als logisches NOT. Beispiele für die Abfrage
  710. werden am Ende dieses Paragraphen erläutert, einige kann man schon in den
  711. Beispielen für die Menus bewundern.
  712.  Als zweite Kontrollstruktur gibt es in DME den Befehl IFELSE bed dann sonst,
  713. wobei bed eine der oben genannten Bedingungen ist, dann eine Befehlsreihe,
  714. die ausgeführt wird, wenn die Bedingung wahr ist und sonst eine Befehlsreihe,
  715. die ausgeführt wird, wenn die Bedingung falsch ist.
  716.  Die letzte Kontrollstruktur, die die oben aufgeführten Bedingungen benützt,
  717. ist die while-Schleife WHILE bed bef. Dieser Befehl läßt sich wie folgt
  718. beschreiben : Solange bed wahr ist, führe die Befehlsreihe bef aus.
  719.  Eine weiter Schleife benötigt etwas andere Bedingungen. Es ist dies der
  720. Befehl REPEAT N bef. N ist entweder eine Zahl oder eine der folgenden
  721. Bedingungen :
  722. line    = die aktuelle Zahl der Zeilen wird als Anzahl der Wiederholungen
  723.           benutzt,
  724. lbot    = die Zahl der Zeilen bis zum Ende wird als Anzahl der Wiederholungen
  725.           benutzt,
  726. cleft   = die aktuelle Spaltenzahl wird als Anzahl der Wiederholungen
  727.           benutzt,
  728. cright  = die Zahl der Spalten bis zum Ende der Zeile wird als Anzahl der
  729.           Wiederholungen benutzt,
  730. tr      = es wird solange bef wiederholt, bis der Cursor die nächsten
  731.           Tabulatorposition erreicht hat,
  732. tb      = wie tr, nur nach vorne.
  733. Solange man CRTL-C nicht belegt hat, kann man damit eine Schleife
  734. unterbrechen. Bei einigen Fehlersituationen wird eine mit REPEAT begonnene
  735. Schleife abgebrochen, so etwa bei den Suchbefehlen, wenn der Suchstring
  736. nicht gefunden wird. Eine -1 als N entspricht unendlich ( oder zumindest
  737. der sehr großen Zahl FFFFFFFF im Sedezimalsystem ).
  738.  Ein Befehl, der eigentlich nichts mit Kontrollen zu tun hat, wird jetzt
  739. trotzdem in diesem Abschnitt besprochen. Es ist dies der Befehl TLATE, der
  740. hauptsächlich in Schleifenkonstruktionen benutzt wird. TLATE hat ein
  741. Argument. Dies ist eine Zahl, optional mit Vorzeichen + oder -. TLATE mit
  742. einer Zahl verwandelt das Zeichen unter dem Cursor in den Buchstaben, dessen
  743. ASCII-Darstellung der Zahl entspricht. Falls TLATE mit einer vorzeichenbe-
  744. hafteten Zahl aufgerufen wird, so wird zu der ASCII-Darstellung des Zeichens
  745. unter dem Cursor das Argument je nach Vorzeichen addiert oder subtrahiert.
  746.  Nun ein paar Beispiele, die sowohl die Kontrollstrukturen als auch TLATE
  747. etwas näher erläutern.
  748.  Bei den folgenden Befehlssequenzen ist es UNBEDINGT notwendig, daß diese
  749. in einer Zeile stehen. Durch MORE kann es geschehen, daß es so aussieht, als
  750. obe eine Befehlssequenz über mehrere Zeilen führt. Dies würde zu einem nicht
  751. erwünschten Ergebnis in DME führen !
  752. MAP `f1'    `WLEFT IF c=34 RIGHT IF c=39 RIGHT IF c=96 RIGHT IF cl `TLATE -32' WHILE ca RIGHT'
  753. Dieser Befehl belegt die Funktionstaste f1 mit einer Befehlssequenz, die den
  754. ersten Buchstaben des vorigen Wortes in einen Großbuchstaben umwandelt.
  755. MAP `f2'    `WLEFT IF c=34 RIGHT IF c=39 RIGHT IF c=96 RIGHT IF cu `TLATE +32' WHILE ca RIGHT'
  756. Diese Sequenz weist der Funktionstaste f2 eine Sequenz zu, die alle
  757. Buchstaben des vorherigen Wortes in Kleinbuchstaben umwandelt.
  758. MAP `f3'    `IF c=34 RIGHT IF c=39 RIGHT IF c=96 RIGHT WHILE ca `IF cl `TLATE -32' RIGHT''
  759. Die Taste f3 wird mit einer Befehlssequenz belegt, die alle folgenden
  760. Buchstaben innerhalb des aktuellen Wortes zu Großbuchstaben macht.
  761. MAP `f4'    `IFELSE t `RIGHT LEFT' `UNBLOCK BLOCK BLOCK UP BMOVE UNBLOCK' '
  762. Diese Befehlszeile bewirkt, daß f4 mit einer Befehlssequenz belegt ist, die
  763. die aktuelle Zeile um eine Zeile im Text nach oben befördert.
  764.  Die Befehle können ausprobiert werden, indem auf der Zeile mit der
  765. gewünschten Befehlssequenz zweimal der Befehl BLOCK eingegeben wird und dann
  766. der Befehl BSOURCE. Dies bringt die Zeile, die im Moment markiert ist, zur
  767. Ausführung. Natürlich muß dann noch die jeweilige Taste gedrückt werden, die
  768. belegt wurde, um einen sichtbaren Effekt zu erzielen.
  769.  
  770.                             
  771. REFERENZEN
  772.  
  773.  REF ist ein recht komplexer Befehl, der nur versierten DME-Benutzern zu
  774. empfehlen ist. Die Idee hinter REF ist die folgende : Wenn man Programme
  775. entwickelt, so möchte man unter Umständen einen Kommentarfile anlegen, so
  776. daß die Kommentare nicht im Quelltext des Programmes stehen. Dies soll mit
  777. REF erleichtert werden.
  778.  Für REF müssen zwei weitere Files angelegt werden. Zuerst ist da der File
  779. DME.REFS, der entweder im aktuellen Directory, auf S: oder auf DF0:, DF1:,
  780. DF2: oder DF3: steht ( in dieser Reihenfolge ). In diesem File stehen die
  781. Quellenangaben, die DME benutzt, um den Referenztext zu finden. Die Syntax
  782. der Quellenangaben ist die folgende :
  783. (keyword) (#lines) (file) (searchstring)
  784.    oder
  785. (keyword) (endstring) (file) (searchstring)
  786. keyword ist das Referenzwort,
  787. #lines die Anzahl der Referenzzeilen,
  788. file der Namen des Files, aus dem die Referenzzeilen genommen werden,
  789. searchstring ist der String, nach dem gesucht wird in file.
  790. Natürlich muß auch die Datei bereits eingetippt sein, aus der die Referenz-
  791. zeilen genommen werden.
  792.  Die Vorgehensweise läßt sich wohl am besten in einem Beispiel erläutern :
  793. Nehmen wir einmal an, wir haben in einem File das Wort
  794. AMIGA
  795. eingetippt.
  796.  
  797. In dem File DME.DREF steht die Zeile
  798.  
  799. AMIGA 3 meine_refs.txt AMIGA
  800.  
  801. und in dem File meine_refs.txt stehen die Zeilen
  802.  
  803. ATARI Der ATARI ST ist ein gewöhnlicher Computer, der mit
  804. Bomben um sich schmeißt und trotz der hohen Rechenleistung
  805. seiner CPU kein Multitasking zuläßt.
  806.  
  807. AT Der IBM AT ist ein Rechner, der neben einem miesen
  808. Betriebssystem, nämlich MS-DOS, noch eine schlechte CPU
  809. bestitzt.
  810.  
  811. AMIGA Der COMMODORE AMIGA ist ein sehr guter Rechner. Er
  812. vereinigt große Rechenleistung mit einem hervoragenden
  813. MULTITASKING-Betriebssystem zu einem günstigen Preis.
  814.  
  815. VAX Die VAX von DEC bietet ebenfalls ein Rechner mit hoher
  816. Rechenleistung und MULTITASKING. Nur der hohe Preis vergällt
  817. Amateuren diesen Rechner.
  818.  
  819.  
  820. Wenn man nun im bearbeiteten Text über dem Wort AMIGA steht und den Befehl
  821. REF eingibt, so wird zuerst der File DME.REFS eingeladen und dort das
  822. Wort AMIGA gesucht, daß am Anfang der Zeile stehen muß. Aus dieser Zeile
  823. wird dann der Filename extrahiert, in dem die Referenzzeilen stehen. Dieser
  824. File wird geladen und gemäß den Angaben aus DME.REFS wird der Suchbegriff
  825. gesucht. Auch dieser Begriff muß am Anfang der Zeile stehen, um von DME
  826. gefunden zu werden ! Nach einer erfolgreichen Suche wird entweder die
  827. Anzahl der Zeilen oder bis zu einem in DME.REFS gemäß der Syntax bestimmten
  828. Suchbegriff in einem kleinen Fenster ausgegeben.
  829.  Bei uns würde dort in einem kleinen Fenster auch das gewünschte stehen.
  830.  Ein weiteres mögliches Einsatzgebiet des REF-Befehls könnte eine Online-
  831. Hilfe sein. Aber dies sollte sich jeder selbst überlegen.
  832.  
  833.                             
  834. DIVERSES
  835.  
  836.  Es folgen nun einige Befehle, die nicht in einen der vorigen Paragraphen
  837. passten, aber trotzdem eine paar Zeilen wert sind.
  838.  ESCIMM arg ist ein wichtiger Befehl für die Belegung von Tasten. Wenn ESCIMM
  839. aufgerufen wird, so wird die Kommandoeingabezeile geöffnet und das Argument
  840. arg hineingeschrieben. Der Benutzer muß dann den Rest von Hand eingeben.
  841.  Dies ist sinnvoll z.B. bei Befehlen, die ein Argument haben. Als Beispiel
  842. eignet sich hier FIND. Wenn man FIND auf eine Taste legt, so ist das
  843. Problem : Woher bekomme ich das Argument für FIND ? Als Ausweg bietet sich
  844. ESCIMM an. Man belegt eine Taste wie folgt :
  845. MAP `c-s' `ESCIMM `FIND ''
  846. Wenn nun CRTL-s aufgerufen wird, so erscheint FIND als Prompt in der
  847. Befehlseingabezeile.
  848.  Mit EXECUTE comm kann man ein DOS-Kommando abarbeiten. Die Ausgabe erscheint
  849. dann in dem Fenster, aus dem DME aufgerufen wurde. Beispiel :
  850. EXECUTE `DIR S:'
  851.  Die beiden Befehle PING n und PONG n dienen zur Festlegung von unsichtbaren
  852. Markierungen im Text. Mit PING n wird eine solche Markierung gesetzt, wobei
  853. n zwischen 0 und 9 sein darf. Mit PONG n wird eine vorher vereinbarte
  854. Markierung angesprungen.
  855.  Mit QUIT wird die Bearbeitung des Textes abgebrochen. Aber Vorsicht : Der
  856. Text wird dann nicht abgespeichert. Dagegen wird bei Betätigung des Schließ-
  857. Gagdets der Benutzer gewarnt und muß das Gadget ein zweites Mal betätigen, um
  858. DME verlassen zu können.
  859.  Mit c-esc kann die letzte Befehlseingabe wieder in die Befehlseingabezeile
  860. geholt werden. Daher sollte c-esc nicht anders belegt werden !
  861.  Mit SAVEMAP name und SAVESMAP name können die Tastaturbelegungen in der
  862. Datei name abgespeichert werden. Der Unterschied zwischen dne beiden Befehlen
  863. liegt darin, daß SAVESMAP die voreingestellten Belegungen mitabspeichert,
  864. SAVEMAP nicht. Mit UNMAP taste kann eine Taste von der Belegung befreit
  865. werden.
  866.  
  867.                                  
  868. SCHLUSS
  869.  
  870.  Ich hoffe, die Benutzung von DME wird durch diese paar Zeilen etwas
  871. vereinfacht. Vielleicht noch ein paar Anmerkungen :
  872.  Zu DME werden unter dem Directory support einige Tastaturbelegungen mitge-
  873. liefert. Man sollte sich diese aber genau anschauen, bevor man sie übernimmt,
  874. da einiges nicht sehr glücklich gelöst ist.
  875.  Wenn man genug von ED hat, so sollte man sich DME als ED unter dem Directory
  876. C: abspeichern. Dann kann man zwar ED nicht mehr benutzen ( dies ist kein
  877. großer Verlust ! ), aber dafür ist es bequemer. Außerdem gibt es einige
  878. Programme, die den Editor ED aufrufen. Wenn sich dahinter nun DME verbirgt,
  879. so merkt dies das Programm natürlich nicht, aber man kann immerhin mit einem
  880. guten Editor arbeiten.
  881.  Einige Befehle habe ich aus Zeitgründen nicht beschreiben können. Aber ich
  882. glaube, daß diese nicht so sehr wichtig sind. ( Wohl, weil ich sie noch
  883. nie benutzt habe. ) Die Beschreibung der ARexx-Möglichkeiten habe ich
  884. ausgelassen, da ich ARexx ( noch ) nicht besitze. Wer ARexx hat, kann ja mal
  885. ein paar Zeilen dazu schreiben und sie mir schicken. Ich würde mich sehr
  886. darüber freuen. Vielleicht wäre es ja auch möglich, daß der(die)jenige das
  887. Handbuch an dieser Stelle fortsetzt.
  888.  
  889.  
  890.  Viel Spaß mit DME
  891.  
  892.       
  893.